<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<meta name="author" content="Rachid Touzani" />
<meta name="keywords" content=" css, dropdowns, dropdown menu, drop-down, menu, navigation, nav, horizontal, vertical left-to-right, vertical right-to-left, horizontal linear, horizontal upwards, cross browser, internet explorer, ie, firefox, safari, opera, browser, lwis" />
<meta name="description" content="Clean, standards-friendly, modular framework for dropdown menus" />
<link href="../css/dropdown.vertical.css" media="screen" rel="stylesheet" type="text/css" />
<link href="../css/default.ultimate.css" media="screen" rel="stylesheet" type="text/css" />
<head>
<!-- Title -->
<title>OFELI - Documentation</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="../doxygen.css" />
<link rel="stylesheet" type="text/css" href="../tabs.css" />
</head>
<body>
<p align="center">
  <img src="../im/ofeli.gif" alt="OFELI's Logo" width="300" height="90">
</p>
<p align="center"><font color="#203F5B" size="4" face="verdana,Helvetica">
<b>An Object Oriented Finite Element Library</b></font></p>
<!-- Complete Page-->
<div id="main">
<div id="mainmenu">
 <div class="text">
<!-- Menu -->
 <div class="tabs">
  <ul class="tablist">
   <li><a href="../index.html"><span>Home</span></a>
    <li><a href="../overview.html"><span>Overview</span></a>
    <li><a href="../extlib.html"><span>External Libraries</span></a>
    <li><a href="../citing.html"><span>Citing OFELI</span></a>
    <li><a href="../fformats.html"><span>File Formats</span></a>
    <li><a href="../demos.html"><span>Demo Codes</span></a>
  </ul>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classOFELI_1_1PETScVect.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classOFELI_1_1PETScVect-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PETScVect&lt; T_ &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__OFELI.html">OFELI</a><a class="el" href="group__OFELI.html">OFELI</a> &raquo;  &#124; <a class="el" href="group__VectMat.html">Vector and Matrix</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>To handle general purpose vectors using Petsc.  
 <a href="classOFELI_1_1PETScVect.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afd0872d3842f137b513085348a985d08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd0872d3842f137b513085348a985d08"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#afd0872d3842f137b513085348a985d08">PETScVect</a> ()</td></tr>
<tr class="memdesc:afd0872d3842f137b513085348a985d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor. Initialize a zero-length vector. <br /></td></tr>
<tr class="separator:afd0872d3842f137b513085348a985d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46ebfb15a23146b3c218ff2ec339ff00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a46ebfb15a23146b3c218ff2ec339ff00">PETScVect</a> (size_t n)</td></tr>
<tr class="memdesc:a46ebfb15a23146b3c218ff2ec339ff00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor setting vector size.  <a href="#a46ebfb15a23146b3c218ff2ec339ff00">More...</a><br /></td></tr>
<tr class="separator:a46ebfb15a23146b3c218ff2ec339ff00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0abad3f9b66400327814f384438d57dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a0abad3f9b66400327814f384438d57dc">PETScVect</a> (size_t nx, size_t ny)</td></tr>
<tr class="memdesc:a0abad3f9b66400327814f384438d57dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of a 2-D index vector.  <a href="#a0abad3f9b66400327814f384438d57dc">More...</a><br /></td></tr>
<tr class="separator:a0abad3f9b66400327814f384438d57dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aeb2625eaa3be280879947922463b1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a3aeb2625eaa3be280879947922463b1e">PETScVect</a> (size_t nx, size_t ny, size_t nz)</td></tr>
<tr class="memdesc:a3aeb2625eaa3be280879947922463b1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of a 3-D index vector.  <a href="#a3aeb2625eaa3be280879947922463b1e">More...</a><br /></td></tr>
<tr class="separator:a3aeb2625eaa3be280879947922463b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adee4d65d5738e33b0254d69793047c3d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#adee4d65d5738e33b0254d69793047c3d">PETScVect</a> (size_t n, T_ *x)</td></tr>
<tr class="memdesc:adee4d65d5738e33b0254d69793047c3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instance of class <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> as an image of a C/C++ array.  <a href="#adee4d65d5738e33b0254d69793047c3d">More...</a><br /></td></tr>
<tr class="separator:adee4d65d5738e33b0254d69793047c3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4930a3126954f4a672b9c7261e585e50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4930a3126954f4a672b9c7261e585e50">PETScVect</a> (MPI_Comm comm, size_t n)</td></tr>
<tr class="memdesc:a4930a3126954f4a672b9c7261e585e50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of a MPI vector using its global size.  <a href="#a4930a3126954f4a672b9c7261e585e50">More...</a><br /></td></tr>
<tr class="separator:a4930a3126954f4a672b9c7261e585e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb39ac67e9e13ec3dc7ced492ffce94d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#acb39ac67e9e13ec3dc7ced492ffce94d">PETScVect</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, int nb_dof=0, int dof_type=NODE_FIELD)</td></tr>
<tr class="memdesc:acb39ac67e9e13ec3dc7ced492ffce94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with a mesh instance.  <a href="#acb39ac67e9e13ec3dc7ced492ffce94d">More...</a><br /></td></tr>
<tr class="separator:acb39ac67e9e13ec3dc7ced492ffce94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058c1c7caaa95c6b1415e0dd1ef5386b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a058c1c7caaa95c6b1415e0dd1ef5386b">PETScVect</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, string name, <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> t=0.0, int nb_dof=0, int dof_type=NODE_FIELD)</td></tr>
<tr class="memdesc:a058c1c7caaa95c6b1415e0dd1ef5386b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with a mesh instance giving name and time for vector.  <a href="#a058c1c7caaa95c6b1415e0dd1ef5386b">More...</a><br /></td></tr>
<tr class="separator:a058c1c7caaa95c6b1415e0dd1ef5386b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afabe192a12419a93cfcc63e33556e906"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#afabe192a12419a93cfcc63e33556e906">PETScVect</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;bc)</td></tr>
<tr class="memdesc:afabe192a12419a93cfcc63e33556e906"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor using boundary conditions.  <a href="#afabe192a12419a93cfcc63e33556e906">More...</a><br /></td></tr>
<tr class="separator:afabe192a12419a93cfcc63e33556e906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4be93e0671dc7f48b101ec4168ca1d56"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4be93e0671dc7f48b101ec4168ca1d56">PETScVect</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, size_t nb_dof, size_t first_dof)</td></tr>
<tr class="memdesc:a4be93e0671dc7f48b101ec4168ca1d56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor to select some components of a given vector.  <a href="#a4be93e0671dc7f48b101ec4168ca1d56">More...</a><br /></td></tr>
<tr class="separator:a4be93e0671dc7f48b101ec4168ca1d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada3c6ad308ee08f92b0cfa7dbc64b8c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada3c6ad308ee08f92b0cfa7dbc64b8c6"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ada3c6ad308ee08f92b0cfa7dbc64b8c6">PETScVect</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:ada3c6ad308ee08f92b0cfa7dbc64b8c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:ada3c6ad308ee08f92b0cfa7dbc64b8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af31bd69bdaba99d16700956161f20e05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#af31bd69bdaba99d16700956161f20e05">PETScVect</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, size_t n)</td></tr>
<tr class="memdesc:af31bd69bdaba99d16700956161f20e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor to select one component from a given 2 or 3-component vector.  <a href="#af31bd69bdaba99d16700956161f20e05">More...</a><br /></td></tr>
<tr class="separator:af31bd69bdaba99d16700956161f20e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fa9b0619cea8446fc65bc689a841704"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a9fa9b0619cea8446fc65bc689a841704">PETScVect</a> (size_t d, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, const string &amp;name=&quot; &quot;)</td></tr>
<tr class="memdesc:a9fa9b0619cea8446fc65bc689a841704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that extracts some degrees of freedom (components) from given instance of <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a>.  <a href="#a9fa9b0619cea8446fc65bc689a841704">More...</a><br /></td></tr>
<tr class="separator:a9fa9b0619cea8446fc65bc689a841704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a743ad2aa64910339b3d6d24f607f7f70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a743ad2aa64910339b3d6d24f607f7f70"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a743ad2aa64910339b3d6d24f607f7f70">~PETScVect</a> ()</td></tr>
<tr class="memdesc:a743ad2aa64910339b3d6d24f607f7f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a743ad2aa64910339b3d6d24f607f7f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace847de83f86cb6a02920d61c0d88db1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ace847de83f86cb6a02920d61c0d88db1">set</a> (const T_ *v, size_t n)</td></tr>
<tr class="memdesc:ace847de83f86cb6a02920d61c0d88db1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize vector with a c-array.  <a href="#ace847de83f86cb6a02920d61c0d88db1">More...</a><br /></td></tr>
<tr class="separator:ace847de83f86cb6a02920d61c0d88db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bdae49fc150aea8e76437f7e6ab456d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a9bdae49fc150aea8e76437f7e6ab456d">setMPI</a> (MPI_Comm comm, size_t n, size_t N)</td></tr>
<tr class="memdesc:a9bdae49fc150aea8e76437f7e6ab456d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a local vector using MPI.  <a href="#a9bdae49fc150aea8e76437f7e6ab456d">More...</a><br /></td></tr>
<tr class="separator:a9bdae49fc150aea8e76437f7e6ab456d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a972e9a60f6847268410a4b896e550869"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a972e9a60f6847268410a4b896e550869">select</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, size_t nb_dof=0, size_t first_dof=1)</td></tr>
<tr class="memdesc:a972e9a60f6847268410a4b896e550869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize vector with another <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance.  <a href="#a972e9a60f6847268410a4b896e550869">More...</a><br /></td></tr>
<tr class="separator:a972e9a60f6847268410a4b896e550869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae7d214f021da61f322d63f473150fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aae7d214f021da61f322d63f473150fb2">set</a> (const string &amp;exp, size_t dof=1)</td></tr>
<tr class="memdesc:aae7d214f021da61f322d63f473150fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize vector with an algebraic expression.  <a href="#aae7d214f021da61f322d63f473150fb2">More...</a><br /></td></tr>
<tr class="separator:aae7d214f021da61f322d63f473150fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8ebf2e373d6311f1bba710375fc8ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aff8ebf2e373d6311f1bba710375fc8ed">set</a> (const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;ms, const string &amp;exp, size_t dof=1)</td></tr>
<tr class="memdesc:aff8ebf2e373d6311f1bba710375fc8ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize vector with an algebraic expression with providing mesh data.  <a href="#aff8ebf2e373d6311f1bba710375fc8ed">More...</a><br /></td></tr>
<tr class="separator:aff8ebf2e373d6311f1bba710375fc8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa83373b89d689681129b255d0f7e85e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa83373b89d689681129b255d0f7e85e4">set</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;x, const string &amp;exp)</td></tr>
<tr class="memdesc:aa83373b89d689681129b255d0f7e85e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize vector with an algebraic expression.  <a href="#aa83373b89d689681129b255d0f7e85e4">More...</a><br /></td></tr>
<tr class="separator:aa83373b89d689681129b255d0f7e85e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a644e8d1c49da41bf27d2972eb510af6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a644e8d1c49da41bf27d2972eb510af6f">setMesh</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, int nb_dof=0, int dof_type=NODE_FIELD)</td></tr>
<tr class="memdesc:a644e8d1c49da41bf27d2972eb510af6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define mesh class to size vector.  <a href="#a644e8d1c49da41bf27d2972eb510af6f">More...</a><br /></td></tr>
<tr class="separator:a644e8d1c49da41bf27d2972eb510af6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac782da1f912bceb5d8ad00c8dc892ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac782da1f912bceb5d8ad00c8dc892ac"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aac782da1f912bceb5d8ad00c8dc892ac">size</a> () const </td></tr>
<tr class="memdesc:aac782da1f912bceb5d8ad00c8dc892ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return vector (global) size. <br /></td></tr>
<tr class="separator:aac782da1f912bceb5d8ad00c8dc892ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade6be32e2a7c0edad8e9f26aeaca0534"><td class="memItemLeft" align="right" valign="top">PetscInt&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ade6be32e2a7c0edad8e9f26aeaca0534">getLocalSize</a> () const </td></tr>
<tr class="memdesc:ade6be32e2a7c0edad8e9f26aeaca0534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return vector local size.  <a href="#ade6be32e2a7c0edad8e9f26aeaca0534">More...</a><br /></td></tr>
<tr class="separator:ade6be32e2a7c0edad8e9f26aeaca0534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4feaf36f311d79c34f18e44866e51313"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4feaf36f311d79c34f18e44866e51313">setSize</a> (size_t nx, size_t ny=1, size_t nz=1)</td></tr>
<tr class="memdesc:a4feaf36f311d79c34f18e44866e51313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set vector size (for 1-D, 2-D or 3-D cases)  <a href="#a4feaf36f311d79c34f18e44866e51313">More...</a><br /></td></tr>
<tr class="separator:a4feaf36f311d79c34f18e44866e51313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908c5474c4259f0649cba9fd5540fa3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a908c5474c4259f0649cba9fd5540fa3b">setDOFType</a> (int dof_type)</td></tr>
<tr class="memdesc:a908c5474c4259f0649cba9fd5540fa3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DOF type of vector.  <a href="#a908c5474c4259f0649cba9fd5540fa3b">More...</a><br /></td></tr>
<tr class="separator:a908c5474c4259f0649cba9fd5540fa3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2116275419db9f448ca42e80a6de901d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2116275419db9f448ca42e80a6de901d"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a2116275419db9f448ca42e80a6de901d">getNbDOF</a> () const </td></tr>
<tr class="memdesc:a2116275419db9f448ca42e80a6de901d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return vector number of degrees of freedom. <br /></td></tr>
<tr class="separator:a2116275419db9f448ca42e80a6de901d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addb1f867fa26e59f96b512c0c0762100"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addb1f867fa26e59f96b512c0c0762100"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#addb1f867fa26e59f96b512c0c0762100">getNb</a> () const </td></tr>
<tr class="memdesc:addb1f867fa26e59f96b512c0c0762100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return vector number of entities (nodes, elements or sides) <br /></td></tr>
<tr class="separator:addb1f867fa26e59f96b512c0c0762100"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913c6c03741d94f86d65690fd7d5902a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a913c6c03741d94f86d65690fd7d5902a"></a>
<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a913c6c03741d94f86d65690fd7d5902a">getMesh</a> () const </td></tr>
<tr class="memdesc:a913c6c03741d94f86d65690fd7d5902a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance. <br /></td></tr>
<tr class="separator:a913c6c03741d94f86d65690fd7d5902a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa447c1dae174714db1049343481fdbb2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa447c1dae174714db1049343481fdbb2">isWithMesh</a> () const </td></tr>
<tr class="memdesc:aa447c1dae174714db1049343481fdbb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if vector contains a <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> pointer, <code>false</code> if not.  <a href="#aa447c1dae174714db1049343481fdbb2">More...</a><br /></td></tr>
<tr class="separator:aa447c1dae174714db1049343481fdbb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23bbef1fa55787411251285e54e4bebb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a23bbef1fa55787411251285e54e4bebb">getDOFType</a> () const </td></tr>
<tr class="separator:a23bbef1fa55787411251285e54e4bebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af910aabb8c41158f77202936fa117182"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af910aabb8c41158f77202936fa117182"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#af910aabb8c41158f77202936fa117182">setTime</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> t)</td></tr>
<tr class="memdesc:af910aabb8c41158f77202936fa117182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set time value for vector. <br /></td></tr>
<tr class="separator:af910aabb8c41158f77202936fa117182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8a26a2fc00205160b0939f424a7157"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd8a26a2fc00205160b0939f424a7157"></a>
<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#abd8a26a2fc00205160b0939f424a7157">getTime</a> () const </td></tr>
<tr class="memdesc:abd8a26a2fc00205160b0939f424a7157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get time value for vector. <br /></td></tr>
<tr class="separator:abd8a26a2fc00205160b0939f424a7157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaf7a54a9d929af6602c086d9dfb4a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eaf7a54a9d929af6602c086d9dfb4a5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4eaf7a54a9d929af6602c086d9dfb4a5">setName</a> (string name)</td></tr>
<tr class="memdesc:a4eaf7a54a9d929af6602c086d9dfb4a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set name of vector. <br /></td></tr>
<tr class="separator:a4eaf7a54a9d929af6602c086d9dfb4a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e164ba33b1dfc211559756aa5d486c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e164ba33b1dfc211559756aa5d486c0"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a5e164ba33b1dfc211559756aa5d486c0">getName</a> () const </td></tr>
<tr class="memdesc:a5e164ba33b1dfc211559756aa5d486c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of vector. <br /></td></tr>
<tr class="separator:a5e164ba33b1dfc211559756aa5d486c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9bff32446456cf0cb01186a22a190b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9bff32446456cf0cb01186a22a190b4"></a>
PetscScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ab9bff32446456cf0cb01186a22a190b4">getNorm1</a> () const </td></tr>
<tr class="memdesc:ab9bff32446456cf0cb01186a22a190b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate 1-norm of vector. <br /></td></tr>
<tr class="separator:ab9bff32446456cf0cb01186a22a190b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec9dab5a0bf3400e0833f409187bf92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ec9dab5a0bf3400e0833f409187bf92"></a>
PetscScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a6ec9dab5a0bf3400e0833f409187bf92">getNorm2</a> () const </td></tr>
<tr class="memdesc:a6ec9dab5a0bf3400e0833f409187bf92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate 2-norm (Euclidean norm) of vector. <br /></td></tr>
<tr class="separator:a6ec9dab5a0bf3400e0833f409187bf92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40405fba71e453855b7ff919e209bd22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40405fba71e453855b7ff919e209bd22"></a>
PetscScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a40405fba71e453855b7ff919e209bd22">getWNorm1</a> () const </td></tr>
<tr class="memdesc:a40405fba71e453855b7ff919e209bd22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate weighted 1-norm of vector The wighted 1-norm is the 1-Norm of the vector divided by its size. <br /></td></tr>
<tr class="separator:a40405fba71e453855b7ff919e209bd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf086b41214bc19d9b09290f7170a2c8"><td class="memItemLeft" align="right" valign="top">PetscScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#abf086b41214bc19d9b09290f7170a2c8">getWNorm2</a> () const </td></tr>
<tr class="memdesc:abf086b41214bc19d9b09290f7170a2c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate weighted 2-norm of vector.  <a href="#abf086b41214bc19d9b09290f7170a2c8">More...</a><br /></td></tr>
<tr class="separator:abf086b41214bc19d9b09290f7170a2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783e12a4577d3b4608e8fdb5d432f733"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a783e12a4577d3b4608e8fdb5d432f733"></a>
PetscScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a783e12a4577d3b4608e8fdb5d432f733">getNormMax</a> () const </td></tr>
<tr class="memdesc:a783e12a4577d3b4608e8fdb5d432f733"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Max-norm (Infinite norm) of vector. <br /></td></tr>
<tr class="separator:a783e12a4577d3b4608e8fdb5d432f733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee260b464437335fb3bbc88808053a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ee260b464437335fb3bbc88808053a7"></a>
T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a0ee260b464437335fb3bbc88808053a7">getMin</a> () const </td></tr>
<tr class="memdesc:a0ee260b464437335fb3bbc88808053a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Min value of vector entries. <br /></td></tr>
<tr class="separator:a0ee260b464437335fb3bbc88808053a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5ad4b5eed98b53417bd96adf366cff8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5ad4b5eed98b53417bd96adf366cff8"></a>
T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa5ad4b5eed98b53417bd96adf366cff8">getMax</a> () const </td></tr>
<tr class="memdesc:aa5ad4b5eed98b53417bd96adf366cff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Max value of vector entries. <br /></td></tr>
<tr class="separator:aa5ad4b5eed98b53417bd96adf366cff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6108ee34e301370c503a4036edaf444"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6108ee34e301370c503a4036edaf444"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ac6108ee34e301370c503a4036edaf444">getNx</a> () const </td></tr>
<tr class="memdesc:ac6108ee34e301370c503a4036edaf444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of grid points in the <code>x</code>-direction if grid indexing is set. <br /></td></tr>
<tr class="separator:ac6108ee34e301370c503a4036edaf444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3faf43ad9af0105239d4c871919556e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3faf43ad9af0105239d4c871919556e9"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a3faf43ad9af0105239d4c871919556e9">getNy</a> () const </td></tr>
<tr class="memdesc:a3faf43ad9af0105239d4c871919556e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of grid points in the <code>y</code>-direction if grid indexing is set. <br /></td></tr>
<tr class="separator:a3faf43ad9af0105239d4c871919556e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc76639788ffbef4af28d44d9da907d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bc76639788ffbef4af28d44d9da907d"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a8bc76639788ffbef4af28d44d9da907d">getNz</a> () const </td></tr>
<tr class="memdesc:a8bc76639788ffbef4af28d44d9da907d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of grid points in the <code>z</code>-direction if grid indexing is set. <br /></td></tr>
<tr class="separator:a8bc76639788ffbef4af28d44d9da907d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91b44f24411b86cd8ea66c443d0486a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a91b44f24411b86cd8ea66c443d0486a0">setNodeBC</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, int code, T_ val, size_t dof=1)</td></tr>
<tr class="memdesc:a91b44f24411b86cd8ea66c443d0486a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a given value to components of vector with given code.  <a href="#a91b44f24411b86cd8ea66c443d0486a0">More...</a><br /></td></tr>
<tr class="separator:a91b44f24411b86cd8ea66c443d0486a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59de521e163d166dee14d2b2bea598d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a59de521e163d166dee14d2b2bea598d6">setNodeBC</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, int code, const string &amp;exp, size_t dof=1)</td></tr>
<tr class="memdesc:a59de521e163d166dee14d2b2bea598d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a given function (given by an interpretable algebraic expression) to components of vector with given code.  <a href="#a59de521e163d166dee14d2b2bea598d6">More...</a><br /></td></tr>
<tr class="separator:a59de521e163d166dee14d2b2bea598d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee38df5c5fddd33a236a705c8b10597"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#abee38df5c5fddd33a236a705c8b10597">setNodeBC</a> (int code, T_ val, size_t dof=1)</td></tr>
<tr class="memdesc:abee38df5c5fddd33a236a705c8b10597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a given value to components of vector with given code.  <a href="#abee38df5c5fddd33a236a705c8b10597">More...</a><br /></td></tr>
<tr class="separator:abee38df5c5fddd33a236a705c8b10597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a893a5e670bce299f952ebf54999b05eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a893a5e670bce299f952ebf54999b05eb">setNodeBC</a> (int code, const string &amp;exp, size_t dof=1)</td></tr>
<tr class="memdesc:a893a5e670bce299f952ebf54999b05eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a given function (given by an interpretable algebraic expression) to components of vector with given code.  <a href="#a893a5e670bce299f952ebf54999b05eb">More...</a><br /></td></tr>
<tr class="separator:a893a5e670bce299f952ebf54999b05eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5476be4b8a1a4400134873357fca48d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a5476be4b8a1a4400134873357fca48d3">removeBC</a> (const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;ms, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:a5476be4b8a1a4400134873357fca48d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove boundary conditions.  <a href="#a5476be4b8a1a4400134873357fca48d3">More...</a><br /></td></tr>
<tr class="separator:a5476be4b8a1a4400134873357fca48d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36abf40f2b531bf1da7bdd8dcdb882f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ac36abf40f2b531bf1da7bdd8dcdb882f">removeBC</a> (const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;ms, const <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:ac36abf40f2b531bf1da7bdd8dcdb882f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove boundary conditions.  <a href="#ac36abf40f2b531bf1da7bdd8dcdb882f">More...</a><br /></td></tr>
<tr class="separator:ac36abf40f2b531bf1da7bdd8dcdb882f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc5901d0dc73b05741261293bc08fc66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#adc5901d0dc73b05741261293bc08fc66">removeBC</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:adc5901d0dc73b05741261293bc08fc66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove boundary conditions.  <a href="#adc5901d0dc73b05741261293bc08fc66">More...</a><br /></td></tr>
<tr class="separator:adc5901d0dc73b05741261293bc08fc66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d80593cf82ea3ef46ddc5f96dc4ecac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a1d80593cf82ea3ef46ddc5f96dc4ecac">removeBC</a> (const <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:a1d80593cf82ea3ef46ddc5f96dc4ecac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove boundary conditions.  <a href="#a1d80593cf82ea3ef46ddc5f96dc4ecac">More...</a><br /></td></tr>
<tr class="separator:a1d80593cf82ea3ef46ddc5f96dc4ecac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40dfaa2820eb99b2c0ac97a11af1e161"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a40dfaa2820eb99b2c0ac97a11af1e161">transferBC</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;bc, int dof=0)</td></tr>
<tr class="memdesc:a40dfaa2820eb99b2c0ac97a11af1e161"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer boundary conditions to the vector.  <a href="#a40dfaa2820eb99b2c0ac97a11af1e161">More...</a><br /></td></tr>
<tr class="separator:a40dfaa2820eb99b2c0ac97a11af1e161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac834bed26d4802e30de1a445a60b4444"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ac834bed26d4802e30de1a445a60b4444">insertBC</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;bc, int dof=0)</td></tr>
<tr class="memdesc:ac834bed26d4802e30de1a445a60b4444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert boundary conditions.  <a href="#ac834bed26d4802e30de1a445a60b4444">More...</a><br /></td></tr>
<tr class="separator:ac834bed26d4802e30de1a445a60b4444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4084323a0c4d0a28b6e574c5408cbcaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4084323a0c4d0a28b6e574c5408cbcaa">insertBC</a> (<a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;m, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:a4084323a0c4d0a28b6e574c5408cbcaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert boundary conditions.  <a href="#a4084323a0c4d0a28b6e574c5408cbcaa">More...</a><br /></td></tr>
<tr class="separator:a4084323a0c4d0a28b6e574c5408cbcaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5989d55b0d27f10244b2fb44373abbaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a5989d55b0d27f10244b2fb44373abbaf">insertBC</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;bc, int dof=0)</td></tr>
<tr class="memdesc:a5989d55b0d27f10244b2fb44373abbaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert boundary conditions.  <a href="#a5989d55b0d27f10244b2fb44373abbaf">More...</a><br /></td></tr>
<tr class="separator:a5989d55b0d27f10244b2fb44373abbaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a358fcedb3d1df8c34319fd1e20faac00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a358fcedb3d1df8c34319fd1e20faac00">insertBC</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v, int dof=0)</td></tr>
<tr class="memdesc:a358fcedb3d1df8c34319fd1e20faac00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert boundary conditions.  <a href="#a358fcedb3d1df8c34319fd1e20faac00">More...</a><br /></td></tr>
<tr class="separator:a358fcedb3d1df8c34319fd1e20faac00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae515e2df7bb8ea9bf653746efe540057"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ae515e2df7bb8ea9bf653746efe540057">Assembly</a> (const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;el, const T_ *<a class="el" href="group__OFELI.html#gaf5cd2eaaceda19772fd904539819158c">b</a>)</td></tr>
<tr class="memdesc:ae515e2df7bb8ea9bf653746efe540057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly of element vector (as C-array) into <a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance.  <a href="#ae515e2df7bb8ea9bf653746efe540057">More...</a><br /></td></tr>
<tr class="separator:ae515e2df7bb8ea9bf653746efe540057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce5dcee073f10d998f7fa284169716d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a6ce5dcee073f10d998f7fa284169716d">Assembly</a> (const <a class="el" href="classOFELI_1_1Side.html">Side</a> &amp;sd, T_ *<a class="el" href="group__OFELI.html#gaf5cd2eaaceda19772fd904539819158c">b</a>)</td></tr>
<tr class="memdesc:a6ce5dcee073f10d998f7fa284169716d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly of side vector (as C-array) into <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance.  <a href="#a6ce5dcee073f10d998f7fa284169716d">More...</a><br /></td></tr>
<tr class="separator:a6ce5dcee073f10d998f7fa284169716d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a301b1f5624913f9c5cdc4ae86921f5f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a301b1f5624913f9c5cdc4ae86921f5f4">getGradient</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:a301b1f5624913f9c5cdc4ae86921f5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete Gradient vector of the current vector.  <a href="#a301b1f5624913f9c5cdc4ae86921f5f4">More...</a><br /></td></tr>
<tr class="separator:a301b1f5624913f9c5cdc4ae86921f5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1024084b7d1d87ddf95c21ff365ea18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ae1024084b7d1d87ddf95c21ff365ea18">getGradient</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;v)</td></tr>
<tr class="memdesc:ae1024084b7d1d87ddf95c21ff365ea18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete Gradient vector of the current vector.  <a href="#ae1024084b7d1d87ddf95c21ff365ea18">More...</a><br /></td></tr>
<tr class="separator:ae1024084b7d1d87ddf95c21ff365ea18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea74bd077357b7cca96576f732e6da66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aea74bd077357b7cca96576f732e6da66">getCurl</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:aea74bd077357b7cca96576f732e6da66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete curl vector of the current vector.  <a href="#aea74bd077357b7cca96576f732e6da66">More...</a><br /></td></tr>
<tr class="separator:aea74bd077357b7cca96576f732e6da66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8d5ed387f870c38142cd447a2d047ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ab8d5ed387f870c38142cd447a2d047ce">getCurl</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;v)</td></tr>
<tr class="memdesc:ab8d5ed387f870c38142cd447a2d047ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete curl vector of the current vector.  <a href="#ab8d5ed387f870c38142cd447a2d047ce">More...</a><br /></td></tr>
<tr class="separator:ab8d5ed387f870c38142cd447a2d047ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa94b3f34a18ac6fb49061308c6e93e3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa94b3f34a18ac6fb49061308c6e93e3c">getSCurl</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:aa94b3f34a18ac6fb49061308c6e93e3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete scalar curl in 2-D of the current vector.  <a href="#aa94b3f34a18ac6fb49061308c6e93e3c">More...</a><br /></td></tr>
<tr class="separator:aa94b3f34a18ac6fb49061308c6e93e3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8576010d1e03e7231bfb5537c57839e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ad8576010d1e03e7231bfb5537c57839e">getDivergence</a> (<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:ad8576010d1e03e7231bfb5537c57839e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the discrete Divergence of the current vector.  <a href="#ad8576010d1e03e7231bfb5537c57839e">More...</a><br /></td></tr>
<tr class="separator:ad8576010d1e03e7231bfb5537c57839e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8791476a0ae8aa57721eb93628dbb4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ad8791476a0ae8aa57721eb93628dbb4c">getAverage</a> (const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;el, int type) const </td></tr>
<tr class="memdesc:ad8791476a0ae8aa57721eb93628dbb4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return average value of vector in a given element.  <a href="#ad8791476a0ae8aa57721eb93628dbb4c">More...</a><br /></td></tr>
<tr class="separator:ad8791476a0ae8aa57721eb93628dbb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1970dfabe065d0fe3d15c39f2c815ac5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a1970dfabe065d0fe3d15c39f2c815ac5">save</a> (string file, int opt)</td></tr>
<tr class="memdesc:a1970dfabe065d0fe3d15c39f2c815ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save vector in a file according to a given format.  <a href="#a1970dfabe065d0fe3d15c39f2c815ac5">More...</a><br /></td></tr>
<tr class="separator:a1970dfabe065d0fe3d15c39f2c815ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a329d671105f2500f2e536c0b45406ce9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a329d671105f2500f2e536c0b45406ce9">MultAdd</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;x, const T_ &amp;a)</td></tr>
<tr class="memdesc:a329d671105f2500f2e536c0b45406ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply by a constant then add to a vector.  <a href="#a329d671105f2500f2e536c0b45406ce9">More...</a><br /></td></tr>
<tr class="separator:a329d671105f2500f2e536c0b45406ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a214b33465d3ab0ccbc5a130d407ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a53a214b33465d3ab0ccbc5a130d407ce">Axpy</a> (T_ a, const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;x)</td></tr>
<tr class="memdesc:a53a214b33465d3ab0ccbc5a130d407ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add to vector the product of a vector by a scalar.  <a href="#a53a214b33465d3ab0ccbc5a130d407ce">More...</a><br /></td></tr>
<tr class="separator:a53a214b33465d3ab0ccbc5a130d407ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74bedad1c952f1ccd8a954342221a14a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a74bedad1c952f1ccd8a954342221a14a">set</a> (size_t i, T_ a)</td></tr>
<tr class="memdesc:a74bedad1c952f1ccd8a954342221a14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a value to an entry for a 1-D vector.  <a href="#a74bedad1c952f1ccd8a954342221a14a">More...</a><br /></td></tr>
<tr class="separator:a74bedad1c952f1ccd8a954342221a14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768ec017a5ad7c82217125299c2613c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a768ec017a5ad7c82217125299c2613c6">set</a> (size_t i, size_t j, T_ a)</td></tr>
<tr class="memdesc:a768ec017a5ad7c82217125299c2613c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a value to an entry for a 2-D vector.  <a href="#a768ec017a5ad7c82217125299c2613c6">More...</a><br /></td></tr>
<tr class="separator:a768ec017a5ad7c82217125299c2613c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9055a4487a9190dedcff3d3478db6254"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a9055a4487a9190dedcff3d3478db6254">set</a> (size_t i, size_t j, size_t k, T_ a)</td></tr>
<tr class="memdesc:a9055a4487a9190dedcff3d3478db6254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a value to an entry for a 3-D vector.  <a href="#a9055a4487a9190dedcff3d3478db6254">More...</a><br /></td></tr>
<tr class="separator:a9055a4487a9190dedcff3d3478db6254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1b9f46db1583a5ab5670d21d3f55cb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#af1b9f46db1583a5ab5670d21d3f55cb2">add</a> (size_t i, T_ a)</td></tr>
<tr class="memdesc:af1b9f46db1583a5ab5670d21d3f55cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a value to an entry for a 1-index vector.  <a href="#af1b9f46db1583a5ab5670d21d3f55cb2">More...</a><br /></td></tr>
<tr class="separator:af1b9f46db1583a5ab5670d21d3f55cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c221f552a94b0427813a376b666d770"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a9c221f552a94b0427813a376b666d770">add</a> (size_t i, size_t j, T_ a)</td></tr>
<tr class="memdesc:a9c221f552a94b0427813a376b666d770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a value to an entry for a 2-index vector.  <a href="#a9c221f552a94b0427813a376b666d770">More...</a><br /></td></tr>
<tr class="separator:a9c221f552a94b0427813a376b666d770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22aeeab9fbb612c8b0d3d74ec1e3f8a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a22aeeab9fbb612c8b0d3d74ec1e3f8a6">add</a> (size_t i, size_t j, size_t k, T_ a)</td></tr>
<tr class="memdesc:a22aeeab9fbb612c8b0d3d74ec1e3f8a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a value to an entry for a 3-index vector.  <a href="#a22aeeab9fbb612c8b0d3d74ec1e3f8a6">More...</a><br /></td></tr>
<tr class="separator:a22aeeab9fbb612c8b0d3d74ec1e3f8a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb3912a3ce86b15842e79d0b421204"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8bb3912a3ce86b15842e79d0b421204"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ac8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr>
<tr class="memdesc:ac8bb3912a3ce86b15842e79d0b421204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all vector entries to zero. <br /></td></tr>
<tr class="separator:ac8bb3912a3ce86b15842e79d0b421204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1400eb5ecc91f1deef03ba97f31ab184"><td class="memItemLeft" align="right" valign="top">T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a1400eb5ecc91f1deef03ba97f31ab184">operator[]</a> (size_t i) const </td></tr>
<tr class="memdesc:a1400eb5ecc91f1deef03ba97f31ab184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>[]</code>  <a href="#a1400eb5ecc91f1deef03ba97f31ab184">More...</a><br /></td></tr>
<tr class="separator:a1400eb5ecc91f1deef03ba97f31ab184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddc9619401846e377b99d5f35e21580"><td class="memItemLeft" align="right" valign="top">T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a5ddc9619401846e377b99d5f35e21580">operator()</a> (size_t i) const </td></tr>
<tr class="memdesc:a5ddc9619401846e377b99d5f35e21580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>()</code>  <a href="#a5ddc9619401846e377b99d5f35e21580">More...</a><br /></td></tr>
<tr class="separator:a5ddc9619401846e377b99d5f35e21580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4d11677b77c61b1c2530c0295d9a966"><td class="memItemLeft" align="right" valign="top">T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#af4d11677b77c61b1c2530c0295d9a966">operator()</a> (size_t i, size_t j) const </td></tr>
<tr class="memdesc:af4d11677b77c61b1c2530c0295d9a966"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator () with 2-D indexing (Case of a grid vector)  <a href="#af4d11677b77c61b1c2530c0295d9a966">More...</a><br /></td></tr>
<tr class="separator:af4d11677b77c61b1c2530c0295d9a966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9fbb4a08d0f0a5bf02269c3740614dc"><td class="memItemLeft" align="right" valign="top">T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ab9fbb4a08d0f0a5bf02269c3740614dc">operator()</a> (size_t i, size_t j, size_t k) const </td></tr>
<tr class="memdesc:ab9fbb4a08d0f0a5bf02269c3740614dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>()</code> with 3-D indexing (Case of a grid vector)  <a href="#ab9fbb4a08d0f0a5bf02269c3740614dc">More...</a><br /></td></tr>
<tr class="separator:ab9fbb4a08d0f0a5bf02269c3740614dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0f95d5c464df03401e39130fa17328"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad0f95d5c464df03401e39130fa17328"></a>
<a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aad0f95d5c464df03401e39130fa17328">operator=</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:aad0f95d5c464df03401e39130fa17328"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>=</code> between vectors. <br /></td></tr>
<tr class="separator:aad0f95d5c464df03401e39130fa17328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59ccb42d5358d9e716b7b6cf856d9e29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a59ccb42d5358d9e716b7b6cf856d9e29">operator=</a> (const T_ &amp;a)</td></tr>
<tr class="memdesc:a59ccb42d5358d9e716b7b6cf856d9e29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>=</code>  <a href="#a59ccb42d5358d9e716b7b6cf856d9e29">More...</a><br /></td></tr>
<tr class="separator:a59ccb42d5358d9e716b7b6cf856d9e29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8852ff1f0593c34945bafb4a653fbb8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a8852ff1f0593c34945bafb4a653fbb8e">operator+=</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:a8852ff1f0593c34945bafb4a653fbb8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>+=</code>  <a href="#a8852ff1f0593c34945bafb4a653fbb8e">More...</a><br /></td></tr>
<tr class="separator:a8852ff1f0593c34945bafb4a653fbb8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e8db8783c73dcb3987ff16bfda2a22c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a3e8db8783c73dcb3987ff16bfda2a22c">operator+=</a> (const T_ &amp;a)</td></tr>
<tr class="memdesc:a3e8db8783c73dcb3987ff16bfda2a22c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>+=</code>  <a href="#a3e8db8783c73dcb3987ff16bfda2a22c">More...</a><br /></td></tr>
<tr class="separator:a3e8db8783c73dcb3987ff16bfda2a22c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420c78b1400f6a116700dc7982b0c218"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a420c78b1400f6a116700dc7982b0c218">operator-=</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:a420c78b1400f6a116700dc7982b0c218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>-=</code>  <a href="#a420c78b1400f6a116700dc7982b0c218">More...</a><br /></td></tr>
<tr class="separator:a420c78b1400f6a116700dc7982b0c218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4175e7d5d6704e0f08457711d3402fc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4175e7d5d6704e0f08457711d3402fc8">operator-=</a> (const T_ &amp;a)</td></tr>
<tr class="memdesc:a4175e7d5d6704e0f08457711d3402fc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>-=</code>  <a href="#a4175e7d5d6704e0f08457711d3402fc8">More...</a><br /></td></tr>
<tr class="separator:a4175e7d5d6704e0f08457711d3402fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6100320776d5a1fefe7e57948782176"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ac6100320776d5a1fefe7e57948782176">operator*=</a> (const T_ &amp;a)</td></tr>
<tr class="memdesc:ac6100320776d5a1fefe7e57948782176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>*=</code>  <a href="#ac6100320776d5a1fefe7e57948782176">More...</a><br /></td></tr>
<tr class="separator:ac6100320776d5a1fefe7e57948782176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82b03f3162b14108a10216b7a67c834"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#ab82b03f3162b14108a10216b7a67c834">operator/=</a> (const T_ &amp;a)</td></tr>
<tr class="memdesc:ab82b03f3162b14108a10216b7a67c834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator <code>/=</code>  <a href="#ab82b03f3162b14108a10216b7a67c834">More...</a><br /></td></tr>
<tr class="separator:ab82b03f3162b14108a10216b7a67c834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3386473895a824034e60061651e98f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3386473895a824034e60061651e98f6"></a>
const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa3386473895a824034e60061651e98f6">getMeshPtr</a> () const </td></tr>
<tr class="memdesc:aa3386473895a824034e60061651e98f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return reference to <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance. <br /></td></tr>
<tr class="separator:aa3386473895a824034e60061651e98f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a586b2b53d396b779052e172e8b89dcd6"><td class="memItemLeft" align="right" valign="top">T_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a586b2b53d396b779052e172e8b89dcd6">operator,</a> (const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;v) const </td></tr>
<tr class="memdesc:a586b2b53d396b779052e172e8b89dcd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return Dot (scalar) product of two vectors.  <a href="#a586b2b53d396b779052e172e8b89dcd6">More...</a><br /></td></tr>
<tr class="separator:a586b2b53d396b779052e172e8b89dcd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f51bfbd6de42c348fc7092034db7f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#aa7f51bfbd6de42c348fc7092034db7f5">operator Vec</a> () const </td></tr>
<tr class="memdesc:aa7f51bfbd6de42c348fc7092034db7f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Casting operator.  <a href="#aa7f51bfbd6de42c348fc7092034db7f5">More...</a><br /></td></tr>
<tr class="separator:aa7f51bfbd6de42c348fc7092034db7f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34b17b28c9bf2d38a9a0cc02058ccaaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a34b17b28c9bf2d38a9a0cc02058ccaaa">setAssembly</a> ()</td></tr>
<tr class="memdesc:a34b17b28c9bf2d38a9a0cc02058ccaaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector assembly.  <a href="#a34b17b28c9bf2d38a9a0cc02058ccaaa">More...</a><br /></td></tr>
<tr class="separator:a34b17b28c9bf2d38a9a0cc02058ccaaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d6170e21a28223098e6125ee9538d06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#a4d6170e21a28223098e6125ee9538d06">Insert</a> (const vector&lt; int &gt; &amp;ii, const vector&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;v)</td></tr>
<tr class="memdesc:a4d6170e21a28223098e6125ee9538d06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert values into certain locations of the vector.  <a href="#a4d6170e21a28223098e6125ee9538d06">More...</a><br /></td></tr>
<tr class="separator:a4d6170e21a28223098e6125ee9538d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd62dd0fc6b9bddc41f35cdc9e0cd8c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1PETScVect.html#afd62dd0fc6b9bddc41f35cdc9e0cd8c5">Add</a> (const vector&lt; int &gt; &amp;ii, const vector&lt; T_ &gt; &amp;v)</td></tr>
<tr class="memdesc:afd62dd0fc6b9bddc41f35cdc9e0cd8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add values into certain locations of the vector.  <a href="#afd62dd0fc6b9bddc41f35cdc9e0cd8c5">More...</a><br /></td></tr>
<tr class="separator:afd62dd0fc6b9bddc41f35cdc9e0cd8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T_&gt;<br />
class OFELI::PETScVect&lt; T_ &gt;</h3>

<p>To handle general purpose vectors using Petsc. </p>
<p>This template class enables considering vectors of various data types. Operators <b>=</b>, <b></b>[] and <b></b>() are overloaded so that one can write for instance:</p>
<pre class="fragment"> PETScVect&lt;double&gt; u(10), v(10);
 v = -1.0;
 u = v;
 u.set(3,-2.0);
</pre><p>to set vector <b>v</b> entries to <b>-1</b>, copy vector <b>v</b> into vector <b>u</b> and assign third entry of <b>v</b> to <b>-2</b>. Note that entries of <b>v</b> are here <b>v(1)</b>, <b>v(2)</b>, ..., <b>v(10)</b>, <em>i.e.</em> vector entries start at index <b>1</b>.</p>
<dl class="section remark"><dt>Remarks</dt><dd>A <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance can be 1-D, 2-D or 3-D, <code>i.e.</code> one can have 1, 2 or 3 indices. This is set while the vector is constructed. This can be helpful for instance in the case of a structured grid.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This class is available only when <a class="el" href="namespaceOFELI.html" title="A namespace to group all library classes, functions, ... ">OFELI</a> has been installed with Petsc In this case, only vectors used for building and solving linear systems need to be instances of <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a>.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T_</td><td>Data type (double, int, complex&lt;double&gt;, ...) </td></tr>
  </table>
  </dd>
</dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a46ebfb15a23146b3c218ff2ec339ff00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor setting vector size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Size of vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0abad3f9b66400327814f384438d57dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ny</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of a 2-D index vector. </p>
<p>This constructor can be used for instance for a 2-D grid vector </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>Size for the first index </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ny</td><td>Size for the second index </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>The size of resulting vector is nx*ny </dd></dl>

</div>
</div>
<a class="anchor" id="a3aeb2625eaa3be280879947922463b1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ny</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of a 3-D index vector. </p>
<p>This constructor can be used for instance for a 3-D grid vector </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>Size for the first index </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ny</td><td>Size for the second index </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nz</td><td>Size for the third index </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>The size of resulting vector is <code>nx*ny*nz</code> </dd></dl>

</div>
</div>
<a class="anchor" id="adee4d65d5738e33b0254d69793047c3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_ *&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an instance of class <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> as an image of a C/C++ array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Dimension of vector to construct </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>C-array to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4930a3126954f4a672b9c7261e585e50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">MPI_Comm&#160;</td>
          <td class="paramname"><em>comm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of a MPI vector using its global size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">comm</td><td>Communicator which represents all the processs that PETSc knows about </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Global size of vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acb39ac67e9e13ec3dc7ced492ffce94d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_dof</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof_type</em> = <code>NODE_FIELD</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor with a mesh instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_dof</td><td>Number of degrees of freedom per node, element or side If <code>nb_dof</code> is set to <code>0</code> (default value) the constructor picks this number from the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof_type</td><td>Type of degrees of freedom. To be given among the enumerated values: <code>NODE_FIELD</code>, <code>ELEMENT_FIELD</code>, <code>SIDE_FIELD</code> or <code>EDGE_FIELD</code> [Default: <code>NODE_FIELD</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a058c1c7caaa95c6b1415e0dd1ef5386b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td>
          <td class="paramname"><em>t</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_dof</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof_type</em> = <code>NODE_FIELD</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor with a mesh instance giving name and time for vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>Time value for the vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_dof</td><td>Number of degrees of freedom per node, element or side If <code>nb_dof</code> is set to <code>0</code> the constructor picks this number from the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof_type</td><td>Type of degrees of freedom. To be given among the enumerated values: <code>NODE_FIELD</code>, <code>ELEMENT_FIELD</code>, <code>SIDE_FIELD</code> or <code>EDGE_FIELD</code> [Default: <code>NODE_FIELD</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afabe192a12419a93cfcc63e33556e906"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>bc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor using boundary conditions. </p>
<p>Boundary condition values contained in <code>bc</code> are reported to vector <code>v</code> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to update </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bc</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance containing imposed valued at desired DOF </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4be93e0671dc7f48b101ec4168ca1d56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nb_dof</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>first_dof</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor to select some components of a given vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to extract from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_dof</td><td>Number of DOF to extract </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">first_dof</td><td>First DOF to extract For instance, a choice <code>first_dof=2</code> and <code>nb_dof=1</code> means that the second DOF of each node is copied in the vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af31bd69bdaba99d16700956161f20e05"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor to select one component from a given 2 or 3-component vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to extract from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Component to extract (must be &gt; 1 and &lt; 4 or). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9fa9b0619cea8446fc65bc689a841704"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor that extracts some degrees of freedom (components) from given instance of <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a>. </p>
<p>This constructor enables constructing a subvector of a given <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance. It selects a given list of degrees of freedom and put it according to a given order in the instance to construct. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>Integer number giving the list of degrees of freedom. This number is made of <code>n</code> digits where <code>n</code> is the number of degrees of freedom. Let us give an example: Assume that the instance <code>v</code> has 3 DOF by entity (node, element or side). The choice <code>d=201</code> means that the constructed instance has 2 DOF where the first DOF is the third one of <code>v</code>, and the second DOF is the first one of f <code>v</code>. Consequently, no digit can be larger than the number of DOF the constructed instance. In this example, a choice <code>d=103</code> would produce an error message. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which extraction is performed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name to assign to vector instance [Default: " "]. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Don't give zeros as first digits for the argument <code>d</code>. The number is in this case interpreted as octal !! </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ace847de83f86cb6a02920d61c0d88db1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">const T_ *&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize vector with a c-array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>c-array (pointer) to initialize <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>size of array </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9bdae49fc150aea8e76437f7e6ab456d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMPI </td>
          <td>(</td>
          <td class="paramtype">MPI_Comm&#160;</td>
          <td class="paramname"><em>comm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize a local vector using MPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">comm</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>local size of vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">N</td><td>global size of vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a972e9a60f6847268410a4b896e550869"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void select </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nb_dof</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>first_dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize vector with another <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to extract from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_dof</td><td>Number of DOF per node, element or side (By default, 0: Number of degrees of freedom extracted from the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">first_dof</td><td>First DOF to extract (Default: 1) For instance, a choice <code>first_dof=2</code> and <code>nb_dof=1</code> means that the second DOF of each node is copied in the vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aae7d214f021da61f322d63f473150fb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize vector with an algebraic expression. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular algebraic expression that defines a function of x, y and z which are coordinates of nodes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of freedom to which the value is assigned [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aff8ebf2e373d6311f1bba710375fc8ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>ms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize vector with an algebraic expression with providing mesh data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ms</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular algebraic expression that defines a function of x, y and z which are coordinates of nodes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of freedom to which the value is assigned [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa83373b89d689681129b255d0f7e85e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>exp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize vector with an algebraic expression. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance that contains coordinates of points </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular algebraic expression that defines a function of x and i which are coordinates of nodes and indices starting from <code>1</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a644e8d1c49da41bf27d2972eb510af6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMesh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_dof</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof_type</em> = <code>NODE_FIELD</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define mesh class to size vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_dof</td><td>Number of degrees of freedom per node, element or side If <code>nb_dof</code> is set to <code>0</code> the constructor picks this number from the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof_type</td><td>Parameter to precise the type of degrees of freedom. To be chosen among the enumerated values: <code>NODE_FIELD</code>, <code>ELEMENT_FIELD</code>, <code>SIDE_FIELD</code>, <code>EDGE_FIELD</code> [Default: <code>NODE_FIELD</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade6be32e2a7c0edad8e9f26aeaca0534"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PetscInt getLocalSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return vector local size. </p>
<p>Local size is the size on the current processor </p>

</div>
</div>
<a class="anchor" id="a4feaf36f311d79c34f18e44866e51313"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setSize </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ny</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nz</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set vector size (for 1-D, 2-D or 3-D cases) </p>
<p>This function allocates memory for the vector but does not initialize its components </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>Number of grid points in <code>x</code>-direction </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ny</td><td>Number of grid points in <code>y</code>-direction [Default: <code>1</code>] </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nz</td><td>Number of grid points in <code>z</code>-direction [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a908c5474c4259f0649cba9fd5540fa3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setDOFType </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof_type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set DOF type of vector. </p>
<p>The DOF type combined with number of DOF per component enable determining the size of vector </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dof_type</td><td>Type of degrees of freedom. Value to be chosen among the enumerated values: <code>NODE_FIELD</code>, <code>ELEMENT_FIELD</code>, <code>SIDE_FIELD</code> or <code>EDGE_FIELD</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa447c1dae174714db1049343481fdbb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isWithMesh </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return <code>true</code> if vector contains a <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> pointer, <code>false</code> if not. </p>
<p>A <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance can be constructed using mesh information </p>

</div>
</div>
<a class="anchor" id="a23bbef1fa55787411251285e54e4bebb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getDOFType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return DOF type of vector </p><dl class="section return"><dt>Returns</dt><dd>dof_type Type of degrees of freedom. Value among the enumerated values: <code>NODE_FIELD</code>, <code>ELEMENT_FIELD</code>, <code>SIDE_FIELD</code> or <code>EDGE_FIELD</code> </dd></dl>

</div>
</div>
<a class="anchor" id="abf086b41214bc19d9b09290f7170a2c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PetscScalar getWNorm2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculate weighted 2-norm of vector. </p>
<p>The weighted 2-norm is the 2-Norm of the vector divided by the square root of its size </p>

</div>
</div>
<a class="anchor" id="a91b44f24411b86cd8ea66c443d0486a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setNodeBC </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a given value to components of vector with given code. </p>
<p>Vector components are assumed nodewise </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Instance of mesh </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>Code for which nodes will be assigned prescribed value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to prescribe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of Freedom for which the value is assigned [default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a59de521e163d166dee14d2b2bea598d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setNodeBC </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a given function (given by an interpretable algebraic expression) to components of vector with given code. </p>
<p>Vector components are assumed nodewise </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Instance of mesh </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>Code for which nodes will be assigned prescribed value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular algebraic expression to prescribe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of Freedom for which the value is assigned [default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abee38df5c5fddd33a236a705c8b10597"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setNodeBC </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a given value to components of vector with given code. </p>
<p>Vector components are assumed nodewise </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>Code for which nodes will be assigned prescribed value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to prescribe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of Freedom for which the value is assigned [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a893a5e670bce299f952ebf54999b05eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setNodeBC </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>dof</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a given function (given by an interpretable algebraic expression) to components of vector with given code. </p>
<p>Vector components are assumed nodewise </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>Code for which nodes will be assigned prescribed value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular algebraic expression to prescribe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Degree of Freedom for which the value is assigned [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5476be4b8a1a4400134873357fca48d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void removeBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>ms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove boundary conditions. </p>
<p>This member function copies to current vector a vector where only non imposed DOF are retained. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ms</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector (<a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to copy from) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac36abf40f2b531bf1da7bdd8dcdb882f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void removeBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>ms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove boundary conditions. </p>
<p>This member function copies to current vector a vector where only non imposed DOF are retained. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ms</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector (<a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance to copy from) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adc5901d0dc73b05741261293bc08fc66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void removeBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove boundary conditions. </p>
<p>This member function copies to current vector a vector where only non imposed DOF are retained. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector (<a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to copy from) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>This function is to be used only when the <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance was constructed by using the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </dd></dl>

</div>
</div>
<a class="anchor" id="a1d80593cf82ea3ef46ddc5f96dc4ecac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void removeBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove boundary conditions. </p>
<p>This member function copies to current vector a vector where only non imposed DOF are retained. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector (<a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance to copy from) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>This function is to be used only when the <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance was constructed by using the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </dd></dl>

</div>
</div>
<a class="anchor" id="a40dfaa2820eb99b2c0ac97a11af1e161"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void transferBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>bc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer boundary conditions to the vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bc</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which imposed degrees of freedom are copied to current instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac834bed26d4802e30de1a445a60b4444"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void insertBC </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>bc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert boundary conditions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which free degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bc</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which imposed degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom by node or side </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4084323a0c4d0a28b6e574c5408cbcaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void insertBC </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Mesh.html">Mesh</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert boundary conditions. </p>
<p>DOF with imposed boundary conditions are set to zero. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td><a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which free degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom by node or side </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5989d55b0d27f10244b2fb44373abbaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void insertBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>bc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert boundary conditions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which free degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bc</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which imposed degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom by node or side </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a358fcedb3d1df8c34319fd1e20faac00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void insertBC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dof</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert boundary conditions. </p>
<p>DOF with imposed boundary conditions are set to zero. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance from which free degrees of freedom are copied to current instance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dof</td><td>Parameter to say if all degrees of freedom are concerned [Default: <code>0</code>] or if only one degree of freedom (<code>dof</code>) is inserted into vector <code>v</code> which has only one degree of freedom by node or side </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae515e2df7bb8ea9bf653746efe540057"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Assembly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>el</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_ *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assembly of element vector (as C-array) into <a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">el</td><td>Reference to element instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Local vector to assemble (C-Array) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6ce5dcee073f10d998f7fa284169716d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Assembly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Side.html">Side</a> &amp;&#160;</td>
          <td class="paramname"><em>sd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_ *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assembly of side vector (as C-array) into <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sd</td><td>Reference to side instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Local vector to assemble (C-Array) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a301b1f5624913f9c5cdc4ae86921f5f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getGradient </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete Gradient vector of the current vector. </p>
<p>The resulting gradient is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The gradient is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the gradient, where <code>v(n,1)</code>, <code>v(n,2)</code> and <code>v(n,3)</code> are respectively the <code>x</code> and <code>y</code> and <code>z</code> derivatives at element <code>n</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae1024084b7d1d87ddf95c21ff365ea18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getGradient </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete Gradient vector of the current vector. </p>
<p>The resulting gradient is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The gradient is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the gradient, where <code>v(n,1).x</code>, <code>v(n,2).y</code> and <code>v(n,3).z</code> are respectively the <code>x</code> and <code>y</code> and <code>z</code> derivatives at element <code>n</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aea74bd077357b7cca96576f732e6da66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getCurl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete curl vector of the current vector. </p>
<p>The resulting curl is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The curl is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the curl, where <code>v(n,1)</code>, <code>v(n,2)</code> and <code>v(n,3)</code> are respectively the <code>x</code> and <code>y</code> and <code>z</code> <code>curl</code> components at element <code>n</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab8d5ed387f870c38142cd447a2d047ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getCurl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete curl vector of the current vector. </p>
<p>The resulting curl is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The curl is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the curl, where <code>v(n,1).x</code>, <code>v(n,2).y</code> and <code>v(n,3).z</code> are respectively the <code>x</code> and <code>y</code> and <code>z</code> <code>curl</code> components at element <code>n</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa94b3f34a18ac6fb49061308c6e93e3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getSCurl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete scalar curl in 2-D of the current vector. </p>
<p>The resulting curl is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The curl is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the scalar curl. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad8576010d1e03e7231bfb5537c57839e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getDivergence </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluate the discrete Divergence of the current vector. </p>
<p>The resulting divergence is stored in a <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance This function handles node vectors assuming P<sub>1</sub> approximation The divergence is then a constant vector for each element. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance that contains the divergence. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad8791476a0ae8aa57721eb93628dbb4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> getAverage </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>el</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return average value of vector in a given element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">el</td><td><a class="el" href="classOFELI_1_1Element.html" title="To store and treat finite element geometric information. ">Element</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of element. This is to be chosen among enumerated values: <code>LINE2</code>, <code>TRIANG3</code>, <code>QUAD4</code> <code>TETRA4</code>, <code>HEXA8</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1970dfabe065d0fe3d15c39f2c815ac5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void save </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save vector in a file according to a given format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Output file where to save the vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">opt</td><td>Option to choose file format to save. This is to be chosen among enumerated values: <code>GMSH</code>, <code>GNUPLOT</code>, <code>MATLAB</code>, <code>TECPLOT</code> and <code>VTK</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a329d671105f2500f2e536c0b45406ce9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; MultAdd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiply by a constant then add to a vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to add </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Constant to multiply before adding </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a53a214b33465d3ab0ccbc5a130d407ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Axpy </td>
          <td>(</td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add to vector the product of a vector by a scalar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Scalar to premultiply </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance by which <code>a</code> is multiplied. The result is added to current instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a74bedad1c952f1ccd8a954342221a14a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a value to an entry for a 1-D vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>Rank index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a768ec017a5ad7c82217125299c2613c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a value to an entry for a 2-D vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>First index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>Second index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9055a4487a9190dedcff3d3478db6254"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a value to an entry for a 3-D vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>First index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>Second index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>Third index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af1b9f46db1583a5ab5670d21d3f55cb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a value to an entry for a 1-index vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>Rank index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9c221f552a94b0427813a376b666d770"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a value to an entry for a 2-index vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>First index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>Second index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a22aeeab9fbb612c8b0d3d74ec1e3f8a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign a value to an entry for a 3-index vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>First index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>Second index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>Third index in vector (starts at <code>1</code>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to assign </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1400eb5ecc91f1deef03ba97f31ab184"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T_ operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>[]</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>Rank index in vector (starts at <code>0</code>) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5ddc9619401846e377b99d5f35e21580"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T_ operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>()</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>Rank index in vector (starts at <code>1</code>) <ul>
<li>
<code>v(i)</code> starts at <code>v(1)</code> to <code>v(size())</code> </li>
<li>
<code>v(i)</code> is the same element as <code>v[i-1]</code> </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af4d11677b77c61b1c2530c0295d9a966"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T_ operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator () with 2-D indexing (Case of a grid vector) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>first index in vector (Number of vector components in the <code>x</code>-grid) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>second index in vector (Number of vector components in the <code>y</code>-grid) <code>v(i,j)</code> starts at <code>v(1,1)</code> to <code>v(<a class="el" href="classOFELI_1_1PETScVect.html#ac6108ee34e301370c503a4036edaf444" title="Return number of grid points in the x-direction if grid indexing is set. ">getNx()</a>,<a class="el" href="classOFELI_1_1PETScVect.html#a3faf43ad9af0105239d4c871919556e9" title="Return number of grid points in the y-direction if grid indexing is set. ">getNy()</a>)</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab9fbb4a08d0f0a5bf02269c3740614dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T_ operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>()</code> with 3-D indexing (Case of a grid vector) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>first index in vector (Number of vector components in the <code>x</code>-grid) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>second index in vector (Number of vector components in the <code>y</code>-grid) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>third index in vector (Number of vector components in the <code>z</code>-grid) <code>v(i,j,k)</code> starts at <code>v(1,1,1)</code> to <code>v(<a class="el" href="classOFELI_1_1PETScVect.html#ac6108ee34e301370c503a4036edaf444" title="Return number of grid points in the x-direction if grid indexing is set. ">getNx()</a>,<a class="el" href="classOFELI_1_1PETScVect.html#a3faf43ad9af0105239d4c871919556e9" title="Return number of grid points in the y-direction if grid indexing is set. ">getNy()</a>,<a class="el" href="classOFELI_1_1PETScVect.html#a8bc76639788ffbef4af28d44d9da907d" title="Return number of grid points in the z-direction if grid indexing is set. ">getNz()</a>)</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a59ccb42d5358d9e716b7b6cf856d9e29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>=</code> </p>
<p>Assign a constant to vector entries </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8852ff1f0593c34945bafb4a653fbb8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>+=</code> </p>
<p>Add vector <code>x</code> to current vector instance. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance to add to instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3e8db8783c73dcb3987ff16bfda2a22c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator+= </td>
          <td>(</td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>+=</code> </p>
<p>Add a constant to current vector entries. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to add to vector entries </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a420c78b1400f6a116700dc7982b0c218"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>-=</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance to subtract from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4175e7d5d6704e0f08457711d3402fc8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator-= </td>
          <td>(</td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>-=</code> </p>
<p>Subtract constant from vector entries. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to subtract from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac6100320776d5a1fefe7e57948782176"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator*= </td>
          <td>(</td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>*=</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to multiply by </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab82b03f3162b14108a10216b7a67c834"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt;T_&gt;&amp; operator/= </td>
          <td>(</td>
          <td class="paramtype">const T_ &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operator <code>/=</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value to divide by </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a586b2b53d396b779052e172e8b89dcd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T_ operator, </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1PETScVect.html">PETScVect</a>&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return Dot (scalar) product of two vectors. </p>
<p>A typical use of this operator is <code>double a = (v,w)</code> where <code>v</code> and <code>w</code> are 2 instances of <code>PETScVect&lt;double&gt;</code> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> instance by which the current instance is multiplied </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa7f51bfbd6de42c348fc7092034db7f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">operator Vec </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Casting operator. </p>
<p>This member functions enables casting an instance of class <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a> into the <code>Petsc</code> vector type <code>Vec</code>. This is useful when one wants to usr any Petsc function that is not available in the wrapper (class <a class="el" href="classOFELI_1_1PETScWrapper.html" title="This class is a wrapper to be used when the library Petsc is installed and used with OFELI...">PETScWrapper</a>) or <a class="el" href="classOFELI_1_1PETScVect.html" title="To handle general purpose vectors using Petsc. ">PETScVect</a>. </p>

</div>
</div>
<a class="anchor" id="a34b17b28c9bf2d38a9a0cc02058ccaaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setAssembly </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector assembly. </p>
<p>This function assembles vector (begins and ends) </p>

</div>
</div>
<a class="anchor" id="a4d6170e21a28223098e6125ee9538d06"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Insert </td>
          <td>(</td>
          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const vector&lt; <a class="el" href="structOFELI_1_1Point.html">Point</a>&lt; T_ &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert values into certain locations of the vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ii</td><td>Vector containing indices where to insert (Note the indices start from 0 like any C-array) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector of values to insert, corresponding to indices in ii. Here the vector has entries of type Point&lt;T_&gt;. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afd62dd0fc6b9bddc41f35cdc9e0cd8c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Add </td>
          <td>(</td>
          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const vector&lt; T_ &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add values into certain locations of the vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ii</td><td>Vector containing indices where to add (Note the indices start from 0 like any C-array) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Vector of values to add, corresponding to indices in ii </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->

</div> <!-- class text -->
</div> <!-- main menu -->
<!-- Google Search -->
<br><br>
<center>
  <div id="cse" style="width: 80%;">Loading</div>
  <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  <script type="text/javascript"> 
     google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
     google.setOnLoadCallback(function() {
        var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
        '012396140824982761142:-qrywxcfi_o', customSearchOptions);
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        customSearchControl.draw('cse');
     }, true);
   </script>
   <style type="text/css">
     .gsc-control-cse {
     font-family: Verdana, sans-serif;
     border-color: #DAE0E5;
     background-color: #DAE0E5;
   }
   .gsc-control-cse .gsc-table-result { font-family: Verdana, sans-serif; }
   input.gsc-input { border-color: #B6BEC5; }
   input.gsc-search-button {
     border-color: #B6BEC5;
     background-color: #D0D1D4;
   }
   .gsc-tabHeader.gsc-tabhInactive {
     border-color: #999999;
     background-color: #EEEEEE;
   }
   .gsc-tabHeader.gsc-tabhActive {
     border-color: #999999;
     background-color: #999999;
   }
   .gsc-tabsArea { border-color: #999999; }
   .gsc-webResult.gsc-result,
   .gsc-results .gsc-imageResult {
     border-color: #FFFFFF;
     background-color: #FFFFFF;
   }
   .gsc-webResult.gsc-result:hover,
   .gsc-imageResult:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gsc-webResult.gsc-result.gsc-promotion:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gs-webResult.gs-result a.gs-title:link,
   .gs-webResult.gs-result a.gs-title:link b,
   .gs-imageResult a.gs-title:link,
   .gs-imageResult a.gs-title:link b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:visited,
   .gs-webResult.gs-result a.gs-title:visited b,
   .gs-imageResult a.gs-title:visited,
   .gs-imageResult a.gs-title:visited b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:hover,
   .gs-webResult.gs-result a.gs-title:hover b,
   .gs-imageResult a.gs-title:hover,
   .gs-imageResult a.gs-title:hover b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:active,
   .gs-webResult.gs-result a.gs-title:active b,
   .gs-imageResult a.gs-title:active,
   .gs-imageResult a.gs-title:active b { color: #0568CD; }
   .gsc-cursor-page { color: #0568CD; }
   a.gsc-trailing-more-results:link { color: #0568CD; }
   .gs-webResult .gs-snippet,
   .gs-imageResult .gs-snippet,
   .gs-fileFormatType { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl,
   .gs-imageResult div.gs-visibleUrl { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { display: none; }
   .gs-webResult div.gs-visibleUrl-long { display: block; }
   .gs-promotion div.gs-visibleUrl-short { display: none; }
   .gs-promotion div.gs-visibleUrl-long { display: block; }
   .gsc-cursor-box { border-color: #FFFFFF; }
   .gsc-results .gsc-cursor-box .gsc-cursor-page {
      border-color: #999999;
      background-color: #FFFFFF;
      color: #0568CD;
   }
   .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
      border-color: #999999;
      background-color: #999999;
      color: #0568CD;
   }
   .gsc-webResult.gsc-result.gsc-promotion {
      border-color: #D2D6DC;
      background-color: #D0D1D4;
   }
   .gsc-completion-title { color: #0568CD; }
   .gsc-completion-snippet { color: #5F6A73; }
   .gs-promotion a.gs-title:link,
   .gs-promotion a.gs-title:link *,
   .gs-promotion .gs-snippet a:link { color: #0066CC; }
   .gs-promotion a.gs-title:visited,
   .gs-promotion a.gs-title:visited *,
   .gs-promotion .gs-snippet a:visited { color: #0066CC; }
   .gs-promotion a.gs-title:hover,
   .gs-promotion a.gs-title:hover *,
   .gs-promotion .gs-snippet a:hover { color: #0066CC; }
   .gs-promotion a.gs-title:active,
   .gs-promotion a.gs-title:active *,
   .gs-promotion .gs-snippet a:active { color: #0066CC; }
   .gs-promotion .gs-snippet,
   .gs-promotion .gs-title .gs-promotion-title-right,
   .gs-promotion .gs-title .gs-promotion-title-right *  { color: #333333; }
   .gs-promotion .gs-visibleUrl,
   .gs-promotion .gs-visibleUrl-short { color: #5F6A73; }
   </style>
</center>
<!-- End of Google Search Box -->
<br><br><br></p>
<div id="foot_bar">
  Copyright &copy; 1998-2019 Rachid Touzani&nbsp;
</div>
</div> <!-- main -->
</body>
</HTML>
